fix: retain native debug symbols#988
Conversation
f64bc5a to
008aa9c
Compare
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
01d9b88 to
4cd95d1
Compare
ovitrif
left a comment
There was a problem hiding this comment.
self-reviewed and tested
ben-kaufman
left a comment
There was a problem hiding this comment.
Looks good after re-audit.
|
So, release-internal produces native-debug-symbols.zip which is ~320MB, hope that's all right. https://github.com/synonymdev/bitkit-android/actions/runs/27754787963/job/82113826121 |
Should normally be ok, was investigated on local release artifacts 👍🏻 I tried to already use it for de-symbolication of the existing crash "PCs" but according to AI it will only work when the APK/AAB is produced from same sources as the |
Refs #982
Related
Description
This PR fixes the native crash symbolication path without bloating the app download.
com.synonym:bitkit-core-android:0.1.73com.synonym:ldk-node-android:0.7.0-rc.51com.synonym:vss-client-android:0.5.20com.synonym:paykit-android:0.1.0-rc8package for now.pubky/paykit-rs#54prepares Paykit symbols upstream, but Android is intentionally not consuming that newer Paykit package in this PR because Paykit is not user-facing yet and the app integration update should land separately.native-debug-symbolsclassifier artifacts duringjust release.app/build/outputs/native-debug-symbols/mainnetRelease/native-debug-symbols-182.zipfor Play Console and GitHub release uploads.native-debug-symbols-182.zipin both public and internal release workflow artifacts, withSHA256SUMS.txt, so release managers can keep the exact symbol archive from the release build..sofiles.Upstream package publication runs consumed by Android:
276268181502770369482627703652412Prepared upstream but not consumed by Android yet:
0.1.0-rc20, workflow run27703655069Preview
N/A
QA Notes
Passed locally on this rebased head:
actionlint .github/workflows/release.yml .github/workflows/release-internal.ymlsh -n scripts/create-native-debug-symbols.shGITHUB_TOKEN=$GITHUB_PAT just releaseGITHUB_TOKEN=$GITHUB_PAT just compileGITHUB_TOKEN=$GITHUB_PAT just testGITHUB_TOKEN=$GITHUB_PAT just lintgit diff --checkPreviously passed locally for this PR chain:
scripts/create-native-debug-symbols.sh./gradlew --no-daemon testDevDebugUnitTest --tests to.bitkit.build.NativeReleaseConfigTestArtifact proof:
native-debug-symbolsclassifier URLs return HTTP200forbitkit-core,ldk-node, andvss-rust-client-ffiat the versions consumed by Android.bitkit-core,ldk-node, andvss-rust-client-fficontain no.debug_*sections in packaged Rust.sofiles.just releaseproducedapp/build/outputs/bundle/mainnetRelease/bitkit-mainnet-release-182.aabat89,123,089bytes.just releaseproducedapp/build/outputs/native-debug-symbols/mainnetRelease/native-debug-symbols-182.zipat315,939,504bytes.libbitkitcore.so,libldk_node.so, andlibvss_rust_client_ffi.sofiles forarm64-v8aandarmeabi-v7a, with no.debug_infosections..debug_infoDWARF metadata forlibbitkitcore.so,libldk_node.so, andlibvss_rust_client_ffi.sofor botharm64-v8aandarmeabi-v7a.libpaykit.soyet.